/*
 * 
 *
 * 
 */
package com.hboxs.asl.dao;

import com.hboxs.asl.Page;
import com.hboxs.asl.Pageable;
import com.hboxs.asl.entity.Category;
import com.hboxs.asl.entity.Course;
import com.hboxs.asl.entity.Member;

/**
* Dao - 课程
*/
public interface CourseDao extends BaseDao<Course, Long> {

    Page<Course> findPageGroup(Course.Type type, Pageable pageable);

    Page<Course> findTrailerPage(Pageable pageable, Member teacher);

    Page<Course> findCoursePage(Pageable pageable, Category category);

    Page<Course> findVedioPage(Pageable pageable, Member teacher, Course.CourseType courseType, Category category);

    Page<Course> findVedioPageByCategoryId(Pageable pageable, Category category, Course.Type type);

    Page<Course> findVedioPageByTeacherId(Pageable pageable, Member teacher, Course.Type type);

    Page<Course> findVedioPageByTeacherId(Pageable pageable, Member teacher);

    Page<Course> findLivePage(Pageable pageable, Course.CourseType courseType);

    Page<Course> findHotSearchPage(Pageable pageable, Boolean hotSearch);
}
